#ifndef BoundedBuffer_h
#define BoundedBuffer_h

#include "Buffer.h"

class BoundedBuffer :
	public Buffer
{
public:
	BoundedBuffer(int maxSize);
	~BoundedBuffer(void);
	void push(Message* m, Thread* t);
	Message* pop(Thread* t);
	int getMaxSize();
private:
	CountingSemaphore* m_empty;
	int m_maxSize;
};

#endif
